home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / scsh / tty.c < prev    next >
C/C++ Source or Header  |  1995-11-04  |  4KB  |  150 lines

  1. /* This is an Scheme48/C interface file, 
  2. ** automatically generated by cig.
  3. */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h> /* For malloc. */
  7. #include "libcig.h"
  8.  
  9. #include <sys/types.h>
  10.  
  11. #include <unistd.h>
  12. #include <termios.h>
  13.  
  14. /* Make sure foreign-function stubs interface to the C funs correctly: */
  15. #include "tty1.h"
  16.  
  17. extern int errno;
  18.  
  19. #define errno_or_false(x) (((x) == -1) ? ENTER_FIXNUM(errno) : SCHFALSE)
  20. scheme_value df_scheme_tcgetattr(long nargs, scheme_value *args)
  21. {
  22.     extern int scheme_tcgetattr(int , char *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *);
  23.     scheme_value ret1;
  24.     int r1;
  25.     int r2;
  26.     int r3;
  27.     int r4;
  28.     int r5;
  29.     int r6;
  30.     int r7;
  31.     int r8;
  32.     int r9;
  33.     int r10;
  34.     int r11;
  35.  
  36.     cig_check_nargs(3, nargs, "scheme_tcgetattr");
  37.     r1 = scheme_tcgetattr(EXTRACT_FIXNUM(args[2]), cig_string_body(args[1]), &r2, &r3, &r4, &r5, &r6, &r7, &r8, &r9, &r10, &r11);
  38.     ret1 = errno_or_false(r1);
  39.     VECTOR_REF(*args,0) = ENTER_FIXNUM(r2);
  40.     VECTOR_REF(*args,1) = ENTER_FIXNUM(r3);
  41.     VECTOR_REF(*args,2) = ENTER_FIXNUM(r4);
  42.     VECTOR_REF(*args,3) = ENTER_FIXNUM(r5);
  43.     VECTOR_REF(*args,4) = ENTER_FIXNUM(r6);
  44.     VECTOR_REF(*args,5) = ENTER_FIXNUM(r7);
  45.     VECTOR_REF(*args,6) = ENTER_FIXNUM(r8);
  46.     VECTOR_REF(*args,7) = ENTER_FIXNUM(r9);
  47.     VECTOR_REF(*args,8) = ENTER_FIXNUM(r10);
  48.     VECTOR_REF(*args,9) = ENTER_FIXNUM(r11);
  49.     return ret1;
  50.     }
  51.  
  52. scheme_value df_scheme_tcsetattr(long nargs, scheme_value *args)
  53. {
  54.     extern int scheme_tcsetattr(int , int , const char *, int , int , int , int , int , int , int , int , int , int , int , int );
  55.     scheme_value ret1;
  56.     int r1;
  57.  
  58.     cig_check_nargs(15, nargs, "scheme_tcsetattr");
  59.     r1 = scheme_tcsetattr(EXTRACT_FIXNUM(args[14]), EXTRACT_FIXNUM(args[13]), cig_string_body(args[12]), EXTRACT_FIXNUM(args[11]), EXTRACT_FIXNUM(args[10]), EXTRACT_FIXNUM(args[9]), EXTRACT_FIXNUM(args[8]), EXTRACT_FIXNUM(args[7]), EXTRACT_FIXNUM(args[6]), EXTRACT_FIXNUM(args[5]), EXTRACT_FIXNUM(args[4]), EXTRACT_FIXNUM(args[3]), EXTRACT_FIXNUM(args[2]), EXTRACT_FIXNUM(args[1]), EXTRACT_FIXNUM(args[0]));
  60.     ret1 = errno_or_false(r1);
  61.     return ret1;
  62.     }
  63.  
  64. scheme_value df_tcsendbreak(long nargs, scheme_value *args)
  65. {
  66.     extern int tcsendbreak(int , int );
  67.     scheme_value ret1;
  68.     int r1;
  69.  
  70.     cig_check_nargs(2, nargs, "tcsendbreak");
  71.     r1 = tcsendbreak(EXTRACT_FIXNUM(args[1]), EXTRACT_FIXNUM(args[0]));
  72.     ret1 = errno_or_false(r1);
  73.     return ret1;
  74.     }
  75.  
  76. scheme_value df_tcdrain(long nargs, scheme_value *args)
  77. {
  78.     
  79.     scheme_value ret1;
  80.     int r1;
  81.  
  82.     cig_check_nargs(1, nargs, "tcdrain");
  83.     r1 = tcdrain(EXTRACT_FIXNUM(args[0]));
  84.     ret1 = errno_or_false(r1);
  85.     return ret1;
  86.     }
  87.  
  88. scheme_value df_tcflush(long nargs, scheme_value *args)
  89. {
  90.     
  91.     scheme_value ret1;
  92.     int r1;
  93.  
  94.     cig_check_nargs(2, nargs, "tcflush");
  95.     r1 = tcflush(EXTRACT_FIXNUM(args[1]), EXTRACT_FIXNUM(args[0]));
  96.     ret1 = errno_or_false(r1);
  97.     return ret1;
  98.     }
  99.  
  100. scheme_value df_tcflow(long nargs, scheme_value *args)
  101. {
  102.     
  103.     scheme_value ret1;
  104.     int r1;
  105.  
  106.     cig_check_nargs(2, nargs, "tcflow");
  107.     r1 = tcflow(EXTRACT_FIXNUM(args[1]), EXTRACT_FIXNUM(args[0]));
  108.     ret1 = errno_or_false(r1);
  109.     return ret1;
  110.     }
  111.  
  112. scheme_value df_tcsetpgrp(long nargs, scheme_value *args)
  113. {
  114.     
  115.     scheme_value ret1;
  116.     int r1;
  117.  
  118.     cig_check_nargs(2, nargs, "tcsetpgrp");
  119.     r1 = tcsetpgrp(EXTRACT_FIXNUM(args[1]), EXTRACT_FIXNUM(args[0]));
  120.     ret1 = errno_or_false(r1);
  121.     return ret1;
  122.     }
  123.  
  124. scheme_value df_tcgetpgrp(long nargs, scheme_value *args)
  125. {
  126.     
  127.     scheme_value ret1;
  128.     pid_t r1;
  129.  
  130.     cig_check_nargs(2, nargs, "tcgetpgrp");
  131.     r1 = tcgetpgrp(EXTRACT_FIXNUM(args[1]));
  132.     ret1 = errno_or_false(r1);
  133.     VECTOR_REF(*args,0) = ENTER_FIXNUM(r1);
  134.     return ret1;
  135.     }
  136.  
  137. scheme_value df_open_ctty(long nargs, scheme_value *args)
  138. {
  139.     extern int open_ctty(const char *, int );
  140.     scheme_value ret1;
  141.     int r1;
  142.  
  143.     cig_check_nargs(3, nargs, "open_ctty");
  144.     r1 = open_ctty(cig_string_body(args[2]), EXTRACT_FIXNUM(args[1]));
  145.     ret1 = errno_or_false(r1);
  146.     VECTOR_REF(*args,0) = ENTER_FIXNUM(r1);
  147.     return ret1;
  148.     }
  149.  
  150.